<?php

if($_POST['action'] == 'report-comment'){
	
	if(!$_POST['comment_id']){
		echo json_encode(array('type'=>'error', 'message'=>'Bài viết không tồn tại.'));
		exit();
	}
	
	$db=new db;
	$db->connect();
	$db->query("select id, report from blog_comment where id=".intval($_POST['comment_id']));
	$result = $db->fetchOne();
	

	if($result['report'] != null){
		$cookieRc = 'rc_' . $result['id'];
		if(isset($_COOKIE[$cookieRc])){
			echo json_encode(array('type'=>'error', 'message'=>'Bạn đã report bài viết này rồi'));
			exit();
			
		}
		
		$reportCount = $result['report'] + 1;
		$data=array(
			"report"=>$reportCount,
		);
		$md=new Model;
		$md->where = "id = " . $_POST['comment_id'];
		$md->update("blog_comment",$data);
		echo json_encode(array('type'=>'success', 'message'=>'Report thành công.', 'report_count'=>$reportCount));
		
		exit();
	}else{
		
		
	}
	exit();
	
	
	
}

if($_POST['action'] == 'unhide-comment'){
	if(!$_POST['comment_id']){
		echo json_encode(array('type'=>'error', 'message'=>'Bài viết không tồn tại.'));
		exit();
	}
	
	if($_SESSION['user']['level']!=1 && $_SESSION['user']['level']!=6){
		$db=new db;
		$db->connect();
		$db->query("select upload_user,hide_user from blog_comment where id=".intval($_POST['comment_id']));
		if($db->num_rows()<0){
			echo json_encode(array('type'=>'error', 'message'=>'Bạn không có quyền thực hiện thao tác này.'));
			exit();
		}else{
			//Nếu thằng add comment chính là thằng hide comment thì chỉ mình nó unhide được thôi
			$vl=$db->fetchOne();
			if($vl['upload_user']==$vl['hide_user']){
				if($_SESSION['user']['username']==$vl['upload_user']){
					//Ban chinh la nguoi tao comment va hide comment chinh minh, ban co quyen unhide
				}else{
					echo json_encode(array('type'=>'error', 'message'=>'Bạn không có quyền thực hiện thao tác này.'));
					exit();
				}
			}else{
				//Check truong hop chu topic la nguoi hide comment thi ho co quyen unhide comment
					$db->query("select upload_user from blog_post where id=".intval($_POST['blog_id']));
					$vl2=$db->fetchOne();
					if($_SESSION['user']['username']==$vl2['upload_user']){
						//Chur topic co quyen unhide comment
					}else{
						//Deo biet thang nao spam, ko co quyen gi het
						echo json_encode(array('type'=>'error', 'message'=>'Bạn không có quyền thực hiện thao tác này.'));
						exit();
					}
			}
			
			//Chủ topic là thằng hide comment thì chỉ mình nó hoặc admin , hoạc mode mới unhide được
		}
			
	}
	
	$data=array(
			"hide"=>0,
	);
	$md=new Model;
	$md->where = "id = " . $_POST['comment_id'];
	$md->update("blog_comment",$data);
	echo json_encode(array('type'=>'success', 'message'=>'Bỏ ẩn bài viết thành công.'));
	exit();
}

if($_POST['action'] == 'hide-comment'){
	
	if(!$_POST['comment_id']){
		echo json_encode(array('type'=>'error', 'message'=>'Bài viết không tồn tại.'));
		exit();
	}
	
	if($_POST['reason'] == ''){
		echo json_encode(array('type'=>'error', 'message'=>'Lý do ẩn không được để trống.'));
		exit();
	}
	
	if($_SESSION['user']['level']!=1 && $_SESSION['user']['level']!=6){
		$db=new db;
		$db->connect();
		//Check user đăng comment đó--------
		$db->query("select upload_user from blog_comment where id=".intval($_POST['comment_id']));
		
		if($db->num_rows()<0){
			
			$vl1=$db->fetchOne();
			if($_SESSION['user']['username']==$vl1['upload_user']){
				//Bạn có quyền thực hiện hide comment của chính mình, do nothing.
			
			}else
			{
				$db->query("select upload_user from blog_post where id=".intval($_POST['blog_id']));
				$vl2=$db->fetchOne();
				if($_SESSION['user']['username']==$vl2['upload_user']){
					//Bạn là chủ topic, bạn có quyền hide comment -----
					
				}else{
						echo json_encode(array('type'=>'error', 'message'=>'Bạn không có quyền thực hiện thao tác này.'));
						exit();
				}
				
			}
			
		}
			
	}
	
	$data=array(
			"hide"=>1,
			
			"hide_user"=>$_SESSION['user']['username'],
			//"blog_id"=>intval($_POST['blog_id']),
			"hide_reason"=>$_POST['reason']
	);
	
	$md=new Model;
	$md->where = "id = " . $_POST['comment_id'];
	$md->update("blog_comment",$data);
	echo json_encode(array('type'=>'success', 'message'=>'Ẩn bài viết thành công.'));
	//<div class="alert alert-danger">Nội dung ẩn bởi: <a href="'.blog_url_user($row['upload_user']).'">'.show_username($row['upload_user'],$row['user']['name']).'</a> vào '.$row['update_time'].'<br />Lý do: '.$row['hide_reason'].'</div>'
	exit();
	
}

if($_POST['action'] == 'add-comment'){
	$_POST['blog_id']=intval($_POST['blog_id']);
	//GIOI HAN  THOI GIAN DE SUBMIT COMMENT---------
	
	//End gioi han thoi gian submit comment--------
	if(!isset($_SESSION['user']['username'])){
		echo json_encode(array('type'=>'error', 'message'=>'Phải đăng nhập để trả lời bài viết'));
		exit();
	}
	
	if(trim($_POST['ct2'])!=''){
		echo json_encode(array('errors'=>'', 'message'=>'Thêm Comment thành công'));
		exit();
	}
	
	
	
	if(trim($_POST['content'])==''){
		echo json_encode(array('errors'=>'', 'message'=>'Nội dung trả lời không được rỗng'));
		exit();
	}
	
	
	$data=array("name"=>$_POST['tieude'],
			"content"=>strip_tags_attributes($_POST['content']),
			"upload_user"=>$_SESSION['user']['username'],
			"blog_id"=>intval($_POST['blog_id']),
			"upload_time"=>date('Y-m-d h:i:s')
	);
	$md=new Model;
	$md->insert("blog_comment",$data);
	
	$db = new db();
	$db->connect();
	//Update time update---------
	$db->nonquery("update blog_post set post=post+1 , update_time='".date('Y-m-d h:i:s')."' where id=".$_POST['blog_id']);
	//End Update time in blog_post
	
	
	$db->query("SELECT id FROM blog_comment WHERE upload_user =  '" . $_SESSION['user']['username'] . "' AND blog_id = '".$_POST['blog_id']."' ORDER BY id DESC");
	$newestComment = $db->fetchOne();

	if($newestComment){
		$lastPage = blog_get_comment_last_page($_POST['blog_id'], 2);
		$queryBlog = $db->query('SELECT alias from blog_post where id = ' . $_POST['blog_id']);
		$blogAlias = $db->fetchOne();
		if($blogAlias['alias']){
			$redirectLink = HOME . 'blog/' . $_POST['blog_id'] . '/' . $blogAlias['alias'] . '.html/' . $lastPage . '#c' . $newestComment['id'];
			echo json_encode(array('type'=>'success', 'message'=>'Thêm Phản Hồi Thành Công', 'redirect_link'=>$redirectLink, 'page'=>$lastPage));
			exit();
		}
	}
	
	echo json_encode(array('type'=>'error', 'message'=>'Hệ thống xảy ra lỗi, vui lòng thử lại.'));
	exit();
	
	
	
}

//Load comment ---------- MODAL FORM EDIT
if($_POST['action'] == 'load-comment'){

	
	if($_POST['comment_id']){
		$db=new db;
		$db->connect();
	

		$db->query("select id, name, content, hide, hide_user, update_user, update_time, hide_reason from blog_comment where id=".intval($_POST['comment_id']));
		if($db->num_rows()>0){
		
				$re=$db->fetchOne();
				if($_POST['task']!='edit'){
				$re['content']=BBCode::parse($re['content']);
				}
				$db->query("select name from users where username='".$re['hide_user']."'");
				$re2=$db->fetchOne();
				$content_hide = '<div class="alert alert-danger blog_hide_content" ><small><em>Nội dung ẩn bởi <a href="'.blog_url_user($re['hide_user']).'">'.show_username($re['hide_user'],$re2['name']).'</a></em></small><br /><em><i class="fa fa-quote-left"></i> '.$re['hide_reason'].' <i class="fa fa-quote-right"></i></em></div>';
			$re['content_hide'] = $content_hide;
			echo json_encode($re);
		}else{
			echo json_encode(array('type'=>'error', 'message'=>'Bài viết không tồn tại.'));
		}
		exit();
	}
	exit();
}

//Update comment in modal form
if($_POST['action'] == 'update-comment'){
	
	
	//echo json_encode(array('type'=>'error', 'message'=>'Bài viết không tồn tại.'));
	//exit();
	//if(!$_SESSION['user']['level']==1 && !$_SESSION['user']['level']==6 &&
	if(!$_POST['comment_id']){
		echo json_encode(array('type'=>'error', 'message'=>'Bài viết không tồn tại.'));
		exit();
	}
	
	if($_POST['comment_content'] == ''){
		echo json_encode(array('type'=>'error', 'message'=>'Tiêu đề và nội dung không được để trống.'));
		exit();
	}
	
	if($_SESSION['user']['level']!=1 && $_SESSION['user']['level']!=6){
		$db=new db;
		$db->connect();
		
		//Check  neu thang sua comment la thang add comment thi oke
		$db->query("select upload_user from blog_comment where id=".intval($_POST['comment_id']));
		if($db->num_rows()>0){
			$vl=$db->fetchOne();
			if($_SESSION['user']['username']==$vl['upload_user']){
				//Ban co quyen edit
				
			}else{
				//Check xem no co phai la chu topic khong
				$db->query("select upload_user from blog_post where id=".intval($_POST['blog_id']));
				$vl2=$db->fetchOne();
				if($_SESSION['user']['username']==$vl2['upload_user']){
					//Ban la nguoi khoi tao topic root, ban co quyen edit
				
				}else{
					//Ban deo co quyen edit nhe
					echo json_encode(array('type'=>'error', 'message'=>'Bạn không có quyền thực hiện thao tác này.'));
					exit();
				}
			}
			
		}else{
					echo json_encode(array('type'=>'error', 'message'=>'Bài Viết Không Tồn Tại.'));
					exit();
		}
			
	}
		
	$data=array("name"=>$_POST['comment_name'],
			"content"=>strip_tags_attributes($_POST['comment_content']),
			"update_user"=>$_SESSION['user']['username'],
			//"blog_id"=>intval($_POST['blog_id']),
			"update_time"=>date('Y-m-d h:i:s')
	);
		
	$md=new Model;
	$md->where = "id = " . $_POST['comment_id'];
	$md->update("blog_comment",$data);
	echo json_encode(array('type'=>'success', 'message'=>'Sửa phản hồi thành công'));
	exit();
	
		
	
}





?>